A. Field of the Invention
This invention relates generally to the field of network design, and more particularly to a system and method for treating data traffic with varying degrees of service.
B. Description of the Related Art
As the use of internets or sets of computer networks connected to each other (of which the Internet is but one example) has steadily increased and progressively larger portions of the general population have access to internets, commercial entities have sought to capitalize on this increasingly popular means of communication by attempting to offer voice, video and data services over these networks. Present day internet topologies however are ill-suited for providing many of these voice, video, and data services with the quality and reliability needed for commercial viability.
Most present day networks operate under no standardized traffic management scheme. Each node or managed element in an administrative domain of a network broadcasts link state information, typically utilizing an interior gateway routing protocol. Based on these broadcasts each element obtains a complete picture of all operational elements in that administrative domain and the communication links connecting those elements. Each element in the administrative domain computes the shortest path to every destination within the domain and builds a forwarding table associating an address prefix with a next hop link. When a data packet arrives the element determines the destination address of the data packet, consults its forwarding table, and sends the data packet out on the appropriate link. Each element makes an autonomous decision about how to forward the data packet and forwarding proceeds in a connectionless manner at every hop. This handling of each data packet in the same way and as fast as possible by managed elements is referred to as “best effort service” and often results in the loss of data packets, congestion on certain links, and the underutilization of alternative links among other things.
Unfortunately though, the human eye and ear is sensitive to both delay in receiving consecutive data packets and variation in the delay between consecutive data packets or jitter—especially when those packets are used to support voice or video applications. Data applications on the other hand can be very sensitive to the loss of data packets as they transit through a network or internet. Finally, voice, video and data services are all typically sensitive to constraints on bandwidth, or the speed with which data packets are exchanged between managed elements. The ability to address all of the foregoing sensitivities by controlling network resources is typically referred to as providing a certain quality of service (QoS) or class of service, and a number of approaches have been or presently are being developed to provide differentiated service or service classes. Each of these approaches utilize one or more of the following traffic management mechanisms: routing, classifying, scheduling, queuing, admission control, policing, and capacity planning.
A first approach is an overlay solution and involves the creation of a data packet over circuit-switched physical network topology such as internet protocol (IP) over asynchronous transfer mode (ATM) with a logical network topology comprised of a mesh of permanent virtual circuits providing point-to-point IP links. The overlay approach however has a number of disadvantages. For instance, there is the need to build and manage two different networks with two different technologies, there is increased complexity of design and management, and the approach can be inefficient due to overhead associated with the circuit-switched layer.
A number of other approaches involve the creation of standard methods of handling data and/or signaling (protocols) between managed elements without regard to the manufacturer of the managed elements within the networks. One protocol approach is Integrated Services or IntServ. IntServ has applications set up paths across an internet and reserve resources before any data packets are sent into the networks. It has four components, signaling, admission control, classification, and scheduling. For signaling IntServ relies on each network element recognizing resource reservation protocol (RSVP) so that resource reservation requests sent into the network with characteristics of the source traffic and service class specifications required by the destination may be acted upon. For admission control, IntServ relies on each intermediate network element either accepting or rejecting reservation requests it receives. If an element accepts a reservation it must install flow state information. IntServ also relies on each network element classifying every data packet it receives. Upon receiving a data packet the network element must classify the data packet based on flow state and place the data packet in an internal queue established for that service classification. Each network element must also have a scheduler that schedules each data packet for retransmission according to its service classification. IntServ has a number of disadvantages. For instance, flow state information is needed for each data packet flow in each network element. IntServ is not very scalable because very large memory and processing capabilities are needed in elements lying at the core of the networks. Finally, the requirements for managed elements are high. Each managed element in each network within the internet must speak RSVP and have the ability to perform admission control, data packet classification, and data packet scheduling.
Another protocol based approach presently working its way towards standardization is Differentiated Services or DiffServ. The premise of DiffServ is that managed elements within the core of the networks will handle data packets in different traffic streams by forwarding them using different per-hop behaviors (PHBs). The PHB to be applied to a particular data packet will be indicated by a DiffServ codepoint (DSCP) embedded in the DiffServ field of each data packet header. The DSCP markings will be applied to data packets either by a trusted upstream node such as a customer, or by managed elements lying at the edge of a network upon entry of the data packets into the network. Under this approach many traffic streams will be aggregated to one of a small number of behavior aggregates (BA) which are each forwarded using the same PHB at the managed element. To accomplish these objectives however, DiffServ requires managed elements within the networks to have a number of capabilities and associated structures such as classifiers, meters, algorithmic droppers, queues and schedulers.
Yet another protocol based approach is Multi Protocol Label Switching (MPLS). Under the MPLS approach a label is inserted in each data packet as it enters an MPLS-capable domain. Labels are distributed by a signaling protocol such as label distribution protocol (LDP) or RSVP. Within the MPLS-capable domain MPLS-capable managed elements examine only the label when forwarding each packet. When a data packet arrives at an MPLS-capable managed element its label is used an index into the forwarding table of the element which specifies a service class. The incoming label is swapped with an outgoing label and the data packet is switched to the next MPLS-capable manage element within the MPLS-capable domain. Before each data packet exits the MPLS-capable domain its label is removed. MPLS, like ATM, relies on introducing a connection-oriented approach.
Thus, it is clear that a number of approaches for providing QoS or service classes within networks exist or are in various stages of development. Each of the existing approaches however requires network operators to invest in and install new managed elements and alter the basic operation of their networks in order to capitalize on the approaches. While this undoubtedly will occur, it will take some time for a single approach to be adopted and the required infrastructure to be manufactured and installed. Accordingly, network operators need a way to offer service classes to their customers utilizing the capabilities of their present day networks while transitioning to another service class approach such as a protocol based approach.